import {
    ref
} from 'vue';

import {
    defineStore
} from 'pinia'

const useUserStore = defineStore('user',
    () => {
        // 定义响应式数据
        const token = ref('');
        const user = ref({});
		const authorities = ref([]);

        // 定义方法
        const setToken = (val) => {
            token.value = val;
        }

        const setUser = (val) => {
            user.value = val;
        }

        const setAuths = (val) => {
            authorities.value = val;
        }


        return {
            token,
            setToken,
            user,
            setUser,
			authorities,
			setAuths
        };

    }, {
    // unistorage: true, // 开启后对 state 的数据读写都将持久化
    unistorage: {
        key: "user", // 缓存的键，默认为该 store 的 id，这里是 token,
        paths: ["token", "user"], // 需要缓存的路径，这里设置 token 会被缓存
    }
})

export {
    useUserStore
}